home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-30 | 5.3 KB | 216 lines | [TEXT/CWIE] |
- { ModalRadios.p -- Modal dialog }
- { Created 10/30/98 1:06 PM by AppMaker }
-
- Unit ModalRadios;
- Interface
-
- Uses
- Types,
- Quickdraw,
- Controls,
- Dialogs,
- Events,
- Lists,
- Menus,
- TextEdit,
- DModalRadiosData,
- AMDialog;
-
- type
- CModalRadios = object (AMDialog)
-
- {data members}
- mData: DModalRadiosData;
-
- mOKHandle: ControlHandle;
- mRadioGroupGroupHandle: ControlHandle;
- mStandardHandle: ControlHandle;
- mGroupBoxHandle: ControlHandle;
- mGroupGroupHandle: ControlHandle;
- mGroupRadio1Handle: ControlHandle;
- mGroupRadio2Handle: ControlHandle;
- mGroupRadio3Handle: ControlHandle;
- mGraphicBoxHandle: ControlHandle;
- mGraphicGroupHandle: ControlHandle;
- mStopHandle: ControlHandle;
- mGoHandle: ControlHandle;
- mBevelBoxHandle: ControlHandle;
- mBevelGroupHandle: ControlHandle;
- mRadioButtonHandle: ControlHandle;
- mRadioButton2Handle: ControlHandle;
- mTextBoxHandle: ControlHandle;
- mTextGroupHandle: ControlHandle;
- mNameHandle: ControlHandle;
- mKindHandle: ControlHandle;
- mSizeHandle: ControlHandle;
-
- {methods - public}
- Procedure ConnectToData (inData: AMSignaler); Override;
-
- {methods - internal}
- Procedure FinishMake; Override;
- Procedure DoItem (inItemHit: SInt16); Override;
- Procedure DataChanged (inDataID: longint); Override;
-
- end;
-
- {----------}
- Function NewModalRadios: CModalRadios;
-
- {----------}
- Function GetModalRadios (ioData: DModalRadiosData): Boolean;
-
- {----------}
- Implementation
-
- Uses
- ResourceDefs,
- ControlUtils,
- Miscellany;
-
- const
- kOKButton = 1;
- kRadioGroupGroup = 2;
- kStandardRadio = 2;
- kGroupBox = 3;
- kGroupGroup = 4;
- kGroupRadio1 = 4;
- kGroupRadio2 = 5;
- kGroupRadio3 = 6;
- kGraphicBox = 7;
- kGraphicGroup = 8;
- kStopRadio = 8;
- kGoRadio = 9;
- kBevelBox = 10;
- kBevelGroup = 11;
- kRadioButtonRadio = 11;
- kRadioButton2Radio = 12;
- kTextBox = 13;
- kTextGroup = 14;
- kNameRadio = 14;
- kKindRadio = 15;
- kSizeRadio = 16;
-
-
- {----------}
- Function NewModalRadios: CModalRadios;
- var
- dialog: CModalRadios;
- begin
- dialog := nil;
- New (dialog);
-
- if dialog <> nil then begin
- dialog.Initialize;
- end;
- NewModalRadios := dialog;
- end;
-
- {----------}
- Function GetModalRadios (
- ioData: DModalRadiosData): Boolean;
- Var
- result: Boolean;
- dialog: CModalRadios;
- begin
- result := false;
- dialog := NewModalRadios;
-
- result := dialog.RunModal (DLOG_ModalRadios, ioData);
-
- dialog.Free;
- Dispose (dialog);
-
- GetModalRadios := result;
- end;
-
- {----------}
- Procedure CModalRadios.FinishMake;
- var
- errCode: OSErr;
- begin
- mOKHandle := GetControlItem (kOKButton);
- SetDefaultState (mOKHandle, true);
- errCode := SetDialogDefaultItem (mDialog, kOKButton);
- mRadioGroupGroupHandle := GetControlItem (kRadioGroupGroup);
- mStandardHandle := GetControlItem (kStandardRadio);
- mGroupBoxHandle := GetControlItem (kGroupBox);
- mGroupGroupHandle := GetControlItem (kGroupGroup);
- mGroupRadio1Handle := GetControlItem (kGroupRadio1);
- mGroupRadio2Handle := GetControlItem (kGroupRadio2);
- mGroupRadio3Handle := GetControlItem (kGroupRadio3);
- mGraphicBoxHandle := GetControlItem (kGraphicBox);
- mGraphicGroupHandle := GetControlItem (kGraphicGroup);
- mStopHandle := GetControlItem (kStopRadio);
- mGoHandle := GetControlItem (kGoRadio);
- mBevelBoxHandle := GetControlItem (kBevelBox);
- mBevelGroupHandle := GetControlItem (kBevelGroup);
- mRadioButtonHandle := GetControlItem (kRadioButtonRadio);
- errCode := SetBevelButtonGraphicAlignment (mRadioButtonHandle, kControlBevelButtonAlignCenter, 0, 0);
- mRadioButton2Handle := GetControlItem (kRadioButton2Radio);
- errCode := SetBevelButtonGraphicAlignment (mRadioButton2Handle, kControlBevelButtonAlignCenter, 0, 0);
- mTextBoxHandle := GetControlItem (kTextBox);
- mTextGroupHandle := GetControlItem (kTextGroup);
- mNameHandle := GetControlItem (kNameRadio);
- mKindHandle := GetControlItem (kKindRadio);
- mSizeHandle := GetControlItem (kSizeRadio);
- end;
-
- {----------}
- Procedure CModalRadios.ConnectToData (
- inData: AMSignaler); Override;
- begin
- inherited ConnectToData (inData);
- mData := DModalRadiosData (inData);
-
- SetControlValue (mRadioGroupGroupHandle, mData.GetRadioGroup2);
- SetControlValue (mGroupGroupHandle, mData.GetGroup2);
- SetControlValue (mGraphicGroupHandle, mData.GetGraphic3);
- SetControlValue (mBevelGroupHandle, mData.GetBevel2);
- SetControlValue (mTextGroupHandle, mData.GetText2);
- end;
-
- {----------}
- Procedure CModalRadios.DoItem (
- inItemHit: SInt16);
- begin
- case inItemHit of
- kOKButton:
- SetResult (true);
- kRadioGroupGroup:
- mData.SetRadioGroup2 (GetControlValue (mRadioGroupGroupHandle));
- kGroupGroup:
- mData.SetGroup2 (GetControlValue (mGroupGroupHandle));
- kGraphicGroup:
- mData.SetGraphic3 (GetControlValue (mGraphicGroupHandle));
- kBevelGroup:
- mData.SetBevel2 (GetControlValue (mBevelGroupHandle));
- kTextGroup:
- mData.SetText2 (GetControlValue (mTextGroupHandle));
-
- end; {switch}
- end;
-
- {----------}
- Procedure CModalRadios.DataChanged (
- inDataID: longint); Override;
- begin
- if inDataID = idRadioGroup2 then begin
- SetControlValue (mRadioGroupGroupHandle, mData.GetRadioGroup2);
- end;
- if inDataID = idGroup2 then begin
- SetControlValue (mGroupGroupHandle, mData.GetGroup2);
- end;
- if inDataID = idGraphic3 then begin
- SetControlValue (mGraphicGroupHandle, mData.GetGraphic3);
- end;
- if inDataID = idBevel2 then begin
- SetControlValue (mBevelGroupHandle, mData.GetBevel2);
- end;
- if inDataID = idText2 then begin
- SetControlValue (mTextGroupHandle, mData.GetText2);
- end;
- end;
-
- End.
-